Apache NiFi ডেটা ফ্লো ম্যানেজমেন্ট এবং প্রসেসিং টুল হিসেবে বিভিন্ন ধরণের ডেটা ফরম্যাট এবং ট্রান্সফর্মেশন চাহিদা পূরণ করতে সাহায্য করে। Data Transformation এবং Routing NiFi এর অন্যতম শক্তিশালী বৈশিষ্ট্য, যা ডেটার গুণাবলী পরিবর্তন ও রূপান্তর, এবং সেগুলিকে নির্দিষ্ট দিশায় রাউট করার কাজ করে।
Data Transformation হল ডেটার এক ফরম্যাট থেকে অন্য ফরম্যাটে রূপান্তর। NiFi বিভিন্ন ধরনের ডেটা রূপান্তর করতে সাহায্য করে, যেমন JSON থেকে XML, CSV থেকে JSON, বা সাধারণ টেক্সট ফাইল থেকে কাঙ্খিত ডেটাবেস ফরম্যাটে রূপান্তর।
ConvertRecord
Processor ব্যবহার করা যেতে পারে।কনফিগারেশন:
উদাহরণ: JSON থেকে CSV রূপান্তর:
Record Reader: JSONReader
Record Writer: CSVRecordSetWriter
JoltTransformJSON
Processor ব্যবহার করে JSON ডেটার গঠন পরিবর্তন করা যাবে।কনফিগারেশন:
উদাহরণ: JSON ডেটার একটি ফিল্ড নাম পরিবর্তন:
[
{
"operation": "shift",
"spec": {
"name": "full_name"
}
}
]
UpdateAttribute
Processor ব্যবহার করে ডেটার কিছু মেটাডেটা বা অ্যাট্রিবিউট পরিবর্তন করা যায়।কনফিগারেশন:
Routing হল ডেটাকে বিভিন্ন রাউটে (পথে) পাঠানোর প্রক্রিয়া, যা ডেটার গুণাবলী বা শর্তের উপর ভিত্তি করে করা হয়। NiFi তে ডেটা রাউটিং সাধারণত Attributes এবং Relationships এর মাধ্যমে পরিচালিত হয়।
কনফিগারেশন:
উদাহরণ: যদি ডেটার অ্যাট্রিবিউট status
এর মান "active" হয়, তাহলে একটি রিলেশনশিপে পাঠানো হবে এবং যদি "inactive" হয়, তবে অন্য রিলেশনশিপে পাঠানো হবে।
RouteOnContent
Processor ব্যবহার করে ডেটার কনটেন্টের ভিত্তিতে ডেটা রাউটিং করা যায়।কনফিগারেশন:
উদাহরণ: একটি JSON ডেটার ভিতরে "type": "json"
থাকলে, এটি একটি রিলেশনশিপে যাবে, আর অন্যথায় অন্য রিলেশনশিপে যাবে।
কনফিগারেশন:
Apache NiFi তে Data Transformation এবং Routing দুটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ডেটাকে রূপান্তরিত এবং রাউট করার জন্য ব্যবহৃত হয়। Processors এর মাধ্যমে বিভিন্ন ডেটা ফরম্যাটে রূপান্তর এবং ডেটার গুণাবলী বা কনটেন্টের ভিত্তিতে রাউটিং করা সম্ভব। এটি একটি শক্তিশালী টুল যা ডেটা ফ্লো ডিজাইন ও পরিচালনা করতে সাহায্য করে, এবং বিভিন্ন ডেটা ইন্টিগ্রেশন ও প্রসেসিং প্রক্রিয়াতে ব্যবহৃত হয়।
অ্যাপাচি নিফাই (Apache NiFi) একটি শক্তিশালী ডেটা ফ্লো ম্যানেজমেন্ট টুল যা ডেটা ফ্লো পরিচালনা, প্রক্রিয়া এবং রুটিংয়ের জন্য ব্যবহৃত হয়। নিফাইতে Content-based Routing বা কনটেন্ট-ভিত্তিক রাউটিং ডেটার বিষয়বস্তু বা অ্যাট্রিবিউটের ভিত্তিতে ডেটাকে বিভিন্ন রুটে পাঠানোর পদ্ধতি। এটি ডেটা ফ্লো ম্যানেজমেন্টে অত্যন্ত কার্যকরী, যেখানে নির্দিষ্ট শর্তে ডেটা একাধিক প্রোসেসরের মধ্যে রাউট করা হয়।
নিফাইয়ে RouteOnAttribute এবং RouteOnContent প্রোসেসর দুটি কনটেন্ট-ভিত্তিক রাউটিংয়ের জন্য ব্যবহৃত হয়। এগুলোর সাহায্যে ডেটার উপাদান বা অ্যাট্রিবিউটের উপর ভিত্তি করে সিদ্ধান্ত নেওয়া হয় কিভাবে ডেটাকে রাউট করা হবে।
RouteOnAttribute
প্রোসেসর ব্যবহার করে আপনি ডেটার অ্যাট্রিবিউট (যেমন ফাইলের নাম, টাইপ, সাইজ) এর ভিত্তিতে ডেটা রাউট করতে পারেন। এটি ডেটার ইনপুট অ্যাট্রিবিউটের শর্ত অনুযায়ী রাউটিং সিদ্ধান্ত নেয়।
filename matches '^.*.csv$'
(ফাইলের নাম যদি .csv
এক্সটেনশনে থাকে)contentType == 'application/json'
(যদি কনটেন্ট টাইপ JSON হয়)ধরা যাক, আপনি একটি ফাইল নামের ভিত্তিতে রাউট করতে চান, যেখানে .csv
ফাইলগুলিকে একটি রুটে এবং .json
ফাইলগুলিকে অন্য একটি রুটে পাঠাতে চান।
filename matches '^.*\.csv$'
filename matches '^.*\.json$'
এখন, .csv
ফাইলগুলি এক রুটে এবং .json
ফাইলগুলি অন্য রুটে যাবে।
RouteOnContent
প্রোসেসরটি ডেটার আসল কনটেন্ট বা বিষয়বস্তু বিশ্লেষণ করে রাউটিং সিদ্ধান্ত নেয়। এটি কনটেন্টের মধ্যে নির্দিষ্ট শব্দ বা প্যাটার্নের জন্য অনুসন্ধান করতে পারে এবং সেই অনুযায়ী ডেটা রাউট করে।
contains('error')
(যদি কনটেন্টে 'error' শব্দটি থাকে)contains('success')
(যদি কনটেন্টে 'success' শব্দটি থাকে)ধরা যাক, আপনি একটি ফাইলের কনটেন্ট বিশ্লেষণ করতে চান এবং যদি কনটেন্টে "error" থাকে, তাহলে তা একটি রুটে এবং "success" থাকলে তা অন্য একটি রুটে পাঠাতে চান।
contains('error')
contains('success')
এখন, "error" কনটেন্টযুক্ত ফাইলগুলি এক রুটে এবং "success" কনটেন্টযুক্ত ফাইলগুলি অন্য রুটে যাবে।
বৈশিষ্ট্য | RouteOnAttribute | RouteOnContent |
---|---|---|
রাউটিং শর্ত | ডেটার অ্যাট্রিবিউটের ভিত্তিতে (যেমন ফাইল নাম, কনটেন্ট টাইপ) | ডেটার কনটেন্ট বা ভেতরের বিষয়বস্তু বিশ্লেষণ করে |
শর্ত নির্ধারণ | অ্যাট্রিবিউটের মানের সাথে মিলিয়ে শর্ত দেওয়া হয় | কনটেন্টের মধ্যে প্যাটার্ন বা শব্দ খুঁজে শর্ত দেওয়া হয় |
ব্যবহার | ফাইলের নাম, সাইজ, টাইপ, অথবা মেটাডেটার ভিত্তিতে রাউটিং | ফাইল বা ডেটার মধ্যে নির্দিষ্ট প্যাটার্ন বা শব্দ খুঁজে রাউটিং |
অ্যাপাচি নিফাইতে RouteOnAttribute এবং RouteOnContent প্রোসেসর দুটি কনটেন্ট-ভিত্তিক রাউটিংয়ের জন্য ব্যবহৃত হয়। RouteOnAttribute
প্রোসেসর ডেটার অ্যাট্রিবিউটের ভিত্তিতে রাউটিং সিদ্ধান্ত নেয়, যেখানে RouteOnContent
কনটেন্টের ভিতরের তথ্য বিশ্লেষণ করে রাউটিং করে। এই দুটি প্রোসেসরের মাধ্যমে আপনি সহজেই ডেটা ফ্লোতে কনটেন্ট বা অ্যাট্রিবিউটের ভিত্তিতে শর্ত নির্ধারণ করতে পারেন এবং ডেটাকে সঠিক রুটে পাঠাতে পারেন।
অ্যাপাচি নিফাই (Apache NiFi) একটি শক্তিশালী ডেটা প্রবাহ অটোমেশন প্ল্যাটফর্ম যা ডেটার প্রোসেসিং, ফিল্টারিং, এবং রাউটিং পরিচালনা করতে সক্ষম। নিফাই তে ডেটা ফিল্টারিং এবং স্প্লিট/জয়েন প্রোসেসর ব্যবহার করে আপনি ডেটার অপ্রয়োজনীয় অংশ বাদ দিতে, ডেটা ভাগ করতে এবং একত্রিত করতে পারেন। এখানে আমরা এই প্রোসেসরগুলির কিছু গুরুত্বপূর্ণ ব্যবহার নিয়ে আলোচনা করব।
ডেটা ফিল্টারিং এমন একটি প্রক্রিয়া যেখানে আপনি নির্দিষ্ট শর্তের ভিত্তিতে ডেটা ফিল্টার করে প্রয়োজনীয় অংশে সীমাবদ্ধ রাখেন। নিফাই তে কয়েকটি প্রোসেসর ব্যবহার করে আপনি ডেটা ফিল্টার করতে পারেন।
RouteOnAttribute
প্রোসেসরটি ফ্লোফাইলের অ্যাট্রিবিউটের ভিত্তিতে ডেটা রাউট করে। এটি একটি গুরুত্বপূর্ণ ফিল্টারিং প্রোসেসর যা ডেটার নির্দিষ্ট অ্যাট্রিবিউট বা বৈশিষ্ট্যের উপর ভিত্তি করে ডেটার রাউটিং সিদ্ধান্ত নেয়।
status = success
অথবা type = csv
।এই প্রোসেসরটি নির্দিষ্ট অ্যাট্রিবিউটের ভিত্তিতে ডেটা রাউট বা ফিল্টার করবে।
UpdateAttribute
প্রোসেসরটি ফ্লোফাইলের অ্যাট্রিবিউট আপডেট করার জন্য ব্যবহৃত হয়। আপনি ফিল্টার করার জন্য অ্যাট্রিবিউটের মান পরিবর্তন করতে বা নতুন অ্যাট্রিবিউট যোগ করতে পারেন।
এই প্রোসেসরটি ফ্লোফাইলের অ্যাট্রিবিউট আপডেট করে বা নির্দিষ্ট শর্তে ফিল্টার করে।
ExecuteScript
প্রোসেসরটি স্ক্রিপ্ট চালানোর জন্য ব্যবহৃত হয়, যেমন জাভাস্ক্রিপ্ট বা পাইথন। এটি কাস্টম ফিল্টারিং শর্তে ডেটা প্রোসেসিং করার জন্য উপযোগী।
এই প্রোসেসরটি কাস্টম স্ক্রিপ্ট ব্যবহার করে ডেটা ফিল্টার করার জন্য ব্যবহৃত হবে।
নিফাই তে ডেটা স্প্লিটিং এবং জয়েনিং করা খুবই গুরুত্বপূর্ণ যখন আপনি বড় ফাইল বা ডেটা সাইজ নিয়ে কাজ করেন এবং সেগুলিকে ছোট টুকরোতে ভাগ করতে চান অথবা একাধিক টুকরা একত্রিত করতে চান।
SplitText
প্রোসেসরটি একটি বড় টেক্সট ফাইল বা ডেটা স্ট্রিমকে ছোট ছোট অংশে ভাগ করতে ব্যবহৃত হয়। এটি সাধারণত লাইন বা স্ট্রিংয়ের ভিত্তিতে ডেটা ভাগ করে।
এই প্রোসেসরটি একটি বড় টেক্সট ডেটা বা ফাইলকে ছোট ছোট টুকরোতে ভাগ করবে।
SplitContent
প্রোসেসরটি কনটেন্ট বা ডেটা প্যাকেটকে ছোট ব্লকে ভাগ করে। এটি ফাইলের কন্টেন্টের সাইজ নির্ধারণের মাধ্যমে ডেটাকে স্প্লিট করতে সক্ষম।
এই প্রোসেসরটি কন্টেন্টকে নির্দিষ্ট আকারের ব্লকে ভাগ করবে।
MergeContent
প্রোসেসরটি একাধিক ফ্লোফাইলকে একত্রিত করে একটি একক ফাইল বা কন্টেন্টে পরিণত করে। এটি ডেটাকে পুনঃসংকলন এবং একত্রিত করার জন্য ব্যবহৃত হয়।
এই প্রোসেসরটি একাধিক ডেটা ফ্লোকে একত্রিত করে একটি একক কন্টেন্ট তৈরি করবে।
MergeRecord
প্রোসেসরটি রেকর্ড ডেটাকে একত্রিত করতে ব্যবহৃত হয়। এটি বিশেষভাবে বিভিন্ন ফরম্যাটে রেকর্ড ডেটা (যেমন JSON, CSV) একত্রিত করতে ব্যবহৃত হয়।
এই প্রোসেসরটি রেকর্ড ভিত্তিক ডেটাকে একত্রিত করতে ব্যবহৃত হবে।
অ্যাপাচি নিফাই তে ডেটা ফিল্টারিং এবং স্প্লিট/জয়েন প্রোসেসরগুলি ডেটার কার্যকরী প্রক্রিয়া এবং ব্যবস্থাপনার জন্য অত্যন্ত গুরুত্বপূর্ণ। ডেটা ফিল্টারিংয়ের মাধ্যমে আপনি অপ্রয়োজনীয় ডেটা বাদ দিতে পারেন এবং স্প্লিট/জয়েন প্রোসেসরগুলির মাধ্যমে ডেটাকে সহজে ভাগ বা একত্রিত করতে পারেন, যা ডেটার প্রোসেসিং আরও কার্যকর এবং দক্ষ করে তোলে।
অ্যাপাচি নিফাই (Apache NiFi) একটি শক্তিশালী ডেটা ইন্টিগ্রেশন টুল, যা ডেটা ফ্লো তৈরি, প্রক্রিয়া এবং পরিচালনা করার জন্য বিভিন্ন প্রোসেসরের মাধ্যমে কাজ করে। ডেটা এনরিচমেন্ট (Data Enrichment) এবং লুকআপ (Lookup) প্রোসেসরগুলি বিশেষভাবে ডেটার মান বৃদ্ধি বা অন্যান্য উৎস থেকে অতিরিক্ত তথ্য যোগ করার জন্য ব্যবহৃত হয়। এগুলি বড় আকারের ডেটা ইন্টিগ্রেশন এবং ট্রান্সফরমেশন কাজে সহায়ক।
ডেটা এনরিচমেন্ট হল একটি প্রক্রিয়া যেখানে একটি ডেটাসেটকে অতিরিক্ত তথ্য দিয়ে সমৃদ্ধ করা হয়, যা মূল ডেটাসেটের মান বৃদ্ধি করে। নিফাইতে ডেটা এনরিচমেন্ট সাধারণত অন্য ডেটা উৎস থেকে তথ্য সংগ্রহের মাধ্যমে করা হয়। উদাহরণস্বরূপ, একটি CSV বা ডাটাবেস থেকে তথ্য লুকআপ করে ফিচার যুক্ত করা।
LookupRecordProcessorLookupRecordProcessor
নিফাইয়ের একটি শক্তিশালী প্রোসেসর যা বিভিন্ন ডেটা উৎস (যেমন ডাটাবেস, হ্যাশম্যাপ, CSV) থেকে তথ্য লুকআপ করে। এটি বিশেষভাবে ব্যবহৃত হয় যখন ডেটার সাথে অন্যান্য সোর্স থেকে মান যুক্ত করতে হয়।
উদাহরণ:
LookupRecordProcessor lookupProcessor = new LookupRecordProcessor();
lookupProcessor.setLookupService(myLookupService); // Lookup service সংযোগ
lookupProcessor.onTrigger(context, session); // Trigger method কল
UpdateRecordProcessorUpdateRecordProcessor
একটি অপরিহার্য প্রোসেসর যা ডেটার মধ্যে পরিবর্তন করে নতুন ফিল্ড বা মান যোগ করতে পারে। এটি প্রক্রিয়া করা রেকর্ডের মধ্যে এনরিচমেন্ট করতে সহায়ক।
উদাহরণ:
UpdateRecordProcessor updateProcessor = new UpdateRecordProcessor();
updateProcessor.addReplacement("fieldName", "newValue"); // নির্দিষ্ট ফিল্ডে মান যোগ করা
লুকআপ প্রোসেসরগুলি নিফাইয়ের এমন প্রোসেসর যা ইনপুট ডেটার জন্য অতিরিক্ত তথ্য সংগ্রহ করে এবং তা আউটপুট ডেটাতে যোগ করে। এই প্রোসেসরগুলির মাধ্যমে আপনি একটি ডেটা উৎস (যেমন ডাটাবেস, ফাইল, API) থেকে ডেটা সংগ্রহ করে ফিল্টার বা প্রক্রিয়া করতে পারেন।
LookupServiceLookupService
একটি ইন্টারফেস যা নিফাইয়ে লুকআপ প্রোসেসরের জন্য কাস্টম লুকআপ সার্ভিস তৈরি করার সুযোগ প্রদান করে। এই সার্ভিসটি লুকআপের জন্য বিভিন্ন প্রকার কনফিগারেশন যেমন ডেটাবেস, ক্যাশিং সার্ভিস বা এক্সটার্নাল API ব্যবহার করতে পারে।
উদাহরণ:
LookupService
ইন্টারফেস ব্যবহার করতে পারেন।LookupService dbLookupService = new DatabaseLookupService();
ExecuteSQLProcessorExecuteSQLProcessor
প্রোসেসরটি একটি SQL কুয়েরি চালাতে সক্ষম, যা ডেটাবেসে তথ্য অনুসন্ধান করে এবং ডেটাবেস থেকে প্রাপ্ত ডেটা নিফাই ফ্লোতে যোগ করে। এটি লুকআপ অপারেশন হিসেবে ব্যবহার করা যায় যখন ডেটাবেস থেকে তথ্য যোগ করার প্রয়োজন হয়।
উদাহরণ:
ExecuteSQLProcessor sqlProcessor = new ExecuteSQLProcessor();
sqlProcessor.setSqlQuery("SELECT * FROM users WHERE email = :email");
GetFileProcessorGetFileProcessor
ফাইল সিস্টেম থেকে ডেটা পেতে ব্যবহার করা হয়, এবং এটি লুকআপ অপারেশন হিসেবে কাজ করতে পারে যখন ফাইল থেকে কিছু তথ্য সংগ্রহ করতে হয়।
উদাহরণ:
GetFileProcessor fileProcessor = new GetFileProcessor();
fileProcessor.setDirectory("/path/to/directory");
LookupService Configuration
যদি আপনি LookupRecordProcessor
ব্যবহার করছেন, তাহলে আপনাকে একটি LookupService
কনফিগার করতে হবে যা নির্দিষ্ট ডেটাবেস বা ফাইল থেকে তথ্য লুকআপ করবে। এটির জন্য একটি কনফিগারেশন ফাইল তৈরি করতে হবে যা ডেটাবেস কানেকশন স্ট্রিং, ইউজারনেম, পাসওয়ার্ড ইত্যাদি অন্তর্ভুক্ত করবে।
উদাহরণ:
DatabaseLookupService
কনফিগার করা।lookupService = org.apache.nifi.lookup.DatabaseLookupService
database.connection.url = jdbc:mysql://localhost:3306/mydb
Custom LookupProcessor
কাস্টম লুকআপ প্রোসেসর তৈরি করার সময়, আপনাকে এই প্রোসেসরটির জন্য ইনপুট এবং আউটপুট ফিল্ডগুলির মধ্যে সম্পর্ক এবং লুকআপ অপারেশন কনফিগার করতে হবে।
public class CustomLookupProcessor extends AbstractProcessor {
@Override
public void onTrigger(ProcessContext context, ProcessSession session) throws ProcessException {
// লুকআপ সার্ভিস ব্যবহার করে লুকআপ প্রক্রিয়া
String lookupValue = context.getProperty("lookupField").getValue();
String result = myLookupService.lookup(lookupValue);
// আউটপুটে প্রক্রিয়াকৃত মান সংযুক্ত করা
FlowFile flowFile = session.get();
session.putAttribute(flowFile, "lookupResult", result);
session.transfer(flowFile, SUCCESS);
}
}
অ্যাপাচি নিফাইতে ডেটা এনরিচমেন্ট এবং লুকআপ প্রোসেসরগুলি বিশেষভাবে ডেটা ফ্লোতে অতিরিক্ত তথ্য যোগ করার জন্য ব্যবহৃত হয়। LookupRecordProcessor
এবং UpdateRecordProcessor
ডেটার মান উন্নত করার জন্য ব্যবহৃত হয়, যখন ExecuteSQLProcessor
এবং GetFileProcessor
লুকআপ অপারেশন সম্পন্ন করতে সাহায্য করে। এই প্রোসেসরগুলি বিভিন্ন সোর্স যেমন ডাটাবেস, CSV ফাইল বা API থেকে তথ্য সংগ্রহ করে এবং ডেটা ফ্লোতে সেই তথ্য সংযুক্ত করে। নিফাইতে এই প্রোসেসরগুলির সঠিক কনফিগারেশন ও ব্যবহারে ডেটা প্রক্রিয়া ও ট্রান্সফরমেশন সহজ এবং কার্যকরী হয়ে ওঠে।
অ্যাপাচি নিফাই (Apache NiFi) একটি শক্তিশালী ডেটা ইন্টিগ্রেশন এবং প্রোসেসিং টুল যা ডেটার ফর্ম্যাট রূপান্তর (Data Format Transformation) করার জন্য ব্যবহৃত হয়। JSON, XML, এবং CSV এর মতো সাধারণ ডেটা ফর্ম্যাটগুলির মধ্যে রূপান্তর করা খুবই গুরুত্বপূর্ণ যখন বিভিন্ন সিস্টেম বা অ্যাপ্লিকেশন একে অপরের সাথে ডেটা শেয়ার করে। NiFi এই ডেটা ফর্ম্যাট রূপান্তরের প্রক্রিয়াটি সহজ, দ্রুত এবং নির্ভরযোগ্যভাবে সম্পাদন করতে সক্ষম।
NiFi তে JSON, XML, এবং CSV ফরম্যাটগুলির মধ্যে ডেটা রূপান্তর করার জন্য নির্দিষ্ট প্রোসেসর এবং কনফিগারেশন ব্যবহার করা হয়। এখানে আমরা এই তিনটি জনপ্রিয় ডেটা ফরম্যাটের মধ্যে রূপান্তর করার জন্য ব্যবহৃত প্রধান প্রোসেসরগুলোর সাথে পরিচিত হবো।
JSON একটি জনপ্রিয় ডেটা ফরম্যাট যা মানব-পাঠযোগ্য এবং কম্পিউটার-পাঠযোগ্য উভয়ই হয়। এটি সাধারণত ওয়েব সার্ভিস এবং অ্যাপ্লিকেশনগুলির মধ্যে ডেটা ট্রান্সফারের জন্য ব্যবহৃত হয়।
JSON থেকে CSV বা XML এ রূপান্তর করতে, আপনাকে ConvertRecord প্রোসেসর ব্যবহার করতে হবে, যেখানে JsonTreeReader এবং CSVRecordSetWriter বা XMLRecordSetWriter কনফিগার করা যাবে।
XML একটি প্ল্যাটফর্ম-স্বাধীন ডেটা ফরম্যাট যা ডেটা সংরক্ষণ এবং সংক্রমণের জন্য ব্যাপকভাবে ব্যবহৃত হয়। এটি ট্যাগভিত্তিক ফরম্যাট, যার মাধ্যমে ডেটা গঠন করা হয়।
XML থেকে JSON বা CSV রূপান্তর করতে, ConvertRecord প্রোসেসর ব্যবহার করে XMLReader এবং JSONRecordSetWriter বা CSVRecordSetWriter কনফিগার করা যাবে।
CSV একটি সোজা এবং জনপ্রিয় ফরম্যাট যা সাধারণত টেবিল-ভিত্তিক ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। এটি কমা দ্বারা পৃথকীকৃত মানের মাধ্যমে তথ্য সংরক্ষণ করে।
CSV থেকে JSON বা XML এ রূপান্তর করতে ConvertRecord প্রোসেসর ব্যবহার করা যেতে পারে, যেখানে CSVReader এবং JSONRecordSetWriter বা XMLRecordSetWriter কনফিগার করা যাবে।
১. প্রোসেসর যোগ করা: প্রথমে NiFi ডেটা ফ্লোতে প্রোসেসর যোগ করুন। যেমন, ConvertRecord, CSVReader, JsonTreeReader, বা XMLReader প্রোসেসর।
২. Input ও Output কনফিগারেশন: ইনপুট ডেটা ফরম্যাট যেমন JSON, XML বা CSV কনফিগার করতে হবে এবং আউটপুট ফরম্যাট হিসাবে অন্যটি নির্বাচন করতে হবে।
৩. Record Reader এবং Writer কনফিগার করা:
৪. রূপান্তর পরীক্ষা: রূপান্তর সফলভাবে সম্পাদিত হয়েছে কিনা তা নিশ্চিত করতে ডেটা ফ্লো পরীক্ষা করুন। NiFi এর রিয়েল-টাইম মনিটরিং এবং লগিং সিস্টেম আপনাকে রূপান্তরের ফলাফল দেখতে সাহায্য করবে।
অ্যাপাচি নিফাই JSON, XML, এবং CSV ফরম্যাটের মধ্যে ডেটা রূপান্তর করতে ConvertRecord, CSVReader, JsonTreeReader, এবং XMLReader প্রোসেসর ব্যবহার করে। এটি ডেটা ফরম্যাটের মধ্যে রূপান্তর সম্পন্ন করার জন্য অত্যন্ত শক্তিশালী এবং নমনীয় পদ্ধতি প্রদান করে। JSON, XML এবং CSV রূপান্তরকে সহজ, কার্যকরী এবং দ্রুত করতে এই প্রোসেসরগুলোর সঠিক কনফিগারেশন গুরুত্বপূর্ণ।
common.read_more